package org.japo.java.swing.igu;

import java.awt.MouseInfo;
import java.awt.Point;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.japo.java.swing.listeners.GER;

public class IGU extends JFrame {

    JButton btnAceptar;

    public IGU() {
        inciarComponentes();
    }

    private void inciarComponentes() {
        // Gestor de eventos de accion
        GER gea = new GER(this);

        //Creamos el JPanel para el panel principal
        JPanel pnlPrincipal = new JPanel();
        pnlPrincipal.addMouseMotionListener(gea);

        //creamos el boton
        btnAceptar = new JButton();
        btnAceptar.setText("Aceptar");
        btnAceptar.setSize(100, 30);
        btnAceptar.setLocation(500, 800);
        pnlPrincipal.add(btnAceptar);
        
        //Creamos un checkbox
        

        //Agregar el panel principal
        setContentPane(pnlPrincipal);

        //asignarle valor a la X de la ventana
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Titulo de la ventana
        setTitle("MoverRaton");

        //hace que el user no pueda cambiar el tamaño de la ventana
        setResizable(true);
        //ajustar el tamaño de la ventana al contenido
        setSize(1000, 600);
        setLocationRelativeTo(null);
    }

    public void perseguirRaton(int x, int y) {
        int MARGEN_A = 25;
        
        //Huye a distancia del margen
//        if (x - btnAceptar.getX() >= MARGEN_A) {
//            btnAceptar.setLocation(x + MARGEN_A, y);
//        } else if (x - btnAceptar.getX() + btnAceptar.getWidth() >= MARGEN_A){
//            btnAceptar.setLocation(x - MARGEN_A - btnAceptar.getWidth(), y);
//        }
//        if (y < btnAceptar.getY()) {
//            btnAceptar.setLocation(x , y + MARGEN_A);
//        } else if(y > btnAceptar.getY() + btnAceptar.getHeight()) {
//            btnAceptar.setLocation(x, y - MARGEN_A - btnAceptar.getHeight());
//        }
        
        //Persigue a distancia del margen
        if (x < btnAceptar.getX() || y < btnAceptar.getY()) {
            btnAceptar.setLocation(x + MARGEN_A, y + MARGEN_A);
        } else if (x > btnAceptar.getX() + btnAceptar.getWidth() || y > btnAceptar.getY() + btnAceptar.getHeight()){
            btnAceptar.setLocation(x - MARGEN_A - btnAceptar.getWidth(), y - MARGEN_A - btnAceptar.getHeight());
        }
        

    }
}
